package org.tis.tools.senior.module.developer.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data;
import org.tis.tools.model.enums.CommonEnumDeserializer;
import org.tis.tools.senior.module.core.entity.cascade.CommonCascadeSerializer;
import org.tis.tools.senior.module.developer.entity.enums.RepealStatus;

import java.io.Serializable;
import java.util.Date;

/**
 * sRepeal
 * 
 * @author Auto Generate Tools
 * @date 2018/09/26
 */
@Data
@TableName("s_repeal")
public class SRepeal implements Serializable {

    /**
     * serialVersionUID.
     */
    private static final long serialVersionUID = 1L;

    /**
     * 模型名称
     */
    public static final String NAME = "撤销申请";

    /**
     * guid对应表字段
     */
    public static final String COLUMN_GUID = "guid";

    /**
     * guidWorkitem对应表字段
     */
    public static final String COLUMN_GUID_WORKITEM = "guid_workitem";

    /**
     * guidProfiles对应表字段
     */
    public static final String COLUMN_GUID_PROFILES = "guid_profiles";

    /**
     * guidDelivery对应表字段
     */
    public static final String COLUMN_GUID_DELIVERY = "guid_delivery";

    /**
     * repealStatus对应表字段
     */
    public static final String COLUMN_REPEAL_STATUS = "repeal_status";

    /**
     * repealTime对应表字段
     */
    public static final String COLUMN_REPEAL_TIME = "repeal_time";

    /**
     * applyPerson对应表字段
     */
    public static final String COLUMN_APPLY_PERSON = "apply_person";

    /**
     * disposePerson对应表字段
     */
    public static final String COLUMN_DISPOSE_PERSON = "dispose_person";

    /**
     * repealDesc对应表字段
     */
    public static final String COLUMN_REPEAL_DESC = "repeal_desc";

    /**
     * guid逻辑名
     */
    public static final String NAME_GUID = "数据id";

    /**
     * guidWorkitem逻辑名
     */
    public static final String NAME_GUID_WORKITEM = "工作项GUID";

    /**
     * guidProfiles逻辑名
     */
    public static final String NAME_GUID_PROFILES = "运行环境GUID";

    /**
     * guidDelivery逻辑名
     */
    public static final String NAME_GUID_DELIVERY = "投放申请GUID";

    /**
     * repealStatus逻辑名
     */
    public static final String NAME_REPEAL_STATUS = "撤销状态";

    /**
     * repealTime逻辑名
     */
    public static final String NAME_REPEAL_TIME = "撤销时间";

    /**
     * applyPerson逻辑名
     */
    public static final String NAME_APPLY_PERSON = "申请人";

    /**
     * disposePerson逻辑名
     */
    public static final String NAME_DISPOSE_PERSON = "处理人";

    /**
     * repealDesc逻辑名
     */
    public static final String NAME_REPEAL_DESC = "撤销说明";

    /**
     * 数据id
     */
    @TableId
    private Integer guid;

    /**
     * 工作项GUID:唯一标示某条数据（自增长）
     */
    @JSONField(serializeUsing = CommonCascadeSerializer.class)
    private Integer guidWorkitem;

    /**
     * 运行环境GUID:唯一标示某条数据（自增长）
     */
    @JSONField(serializeUsing = CommonCascadeSerializer.class)
    private Integer guidProfiles;

    /**
     * 投放申请GUID
     */
    private String guidDelivery;

    /**
     * 撤销状态:撤销状态：
     *  0  撤销成功
     *  1  撤销中
     */
    @JSONField(deserializeUsing = CommonEnumDeserializer.class)
    private RepealStatus repealStatus;

    /**
     * 撤销时间
     */
    private Date repealTime;

    /**
     * 申请人
     */
    private String applyPerson;

    /**
     * 处理人
     */
    private String disposePerson;

    /**
     * 撤销说明
     */
    private String repealDesc;

}

